1. Technical Field
The present invention relates in general to improved memory management and in particular to improved dynamic memory management of unallocated memory in a logical partitioned data processing system. Still more particularly, the present invention relates to enabling a logical partition to borrow memory from an available pool of unallocated memory managed by a partition manager within a data processing system to maximize use of the total memory in the data processing system.
2. Description of the Related Art
Many computer systems provide for partitioning. Partitioning, which is most typically implemented in server systems, divides the available system resources into logically partitioned groups. In particular, the memory devices, processors, and input/output (I/O) devices are logically partitioned into independent, secure groups of resources. An independent operating system image typically runs on each partition, allowing for multiple operating systems (OSs) to concurrently execute on a computer system, and allowing each partition to function independent of other partitions.
To maintain the independence and security of each logical partition, partition management firmware is typically implemented to manage the allocation of and access to resources for each logical partition. Specifically, with reference to partitioning memory resources, the partition management firmware will allocate a fixed amount of memory from the total available memory to each defined logical partition. The amount of memory allocated to a logical partition is typically decided at partition boot time. Additionally, however, a system administrator may be allowed to change the amount of memory allocated to a logical partition by sending dynamic reconfiguration commands to the partition management firmware to specify the addition or deletion of a specified amount of memory. If the system can meet the reconfiguration request, then the partition management firmware allocates or deallocates memory as requested. While system administrator directed reconfiguration of memory provides some control over memory allocation, it is limited because human intervention is required. In addition, system administrator directed reconfiguration of memory is limited because once memory is allocated, it is owned by the partition receiving the memory, and thus is not accessible by other partitions.
In any computing system, it is typical for the operating system to employ memory saving techniques when the number of free pages within allocated memory reaches a particular threshold. For example, when the number of free pages falls below a safe threshold, the operating system may initiate page stealing to reclaim allocated pages for the free page list.
In a logically partitioned system, however, employing a memory saving technique is not necessarily an efficient use of the total system resources. In particular, in a logically partitioned system, not all the memory resources available within the data processing system may be allocated when one partition reaches a memory use threshold. For example, in a system defined to have four logical partitions, if only two of the logical partitions are actually allocated, then the memory resources designated, but not allocated to the other two logical partitions, remain unused. In addition, it is more common for logically partitioned systems to have access to on-demand memory resources which, when initiated, increase the total memory resources of the system. Thus, a limitation of current logically partitioned systems is that when a partition reaches a memory use threshold, unless the system administrator allocates additional memory to the partition, the partition employs inefficient memory saving techniques, even though there is sufficient free memory in the data processing system.
Therefore, in view of the foregoing, it would be advantageous to provide a method, system, and program for partition management such that when a partition reaches a memory use threshold, then the partition management firmware controls memory loans of unallocated memory to requesting partitions, wherein the partition management firmware can reclaim the loaned memory if the memory is needed for allocation to another partition or the partition can return the memory when it is no longer needed. In addition, it would be advantageous for the memory pool of loanable memory to include on-demand memory, in addition to the fixed memory resources of the data processing system.